home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 401-425 / disk_420 / bootx / bootx3.40.doc < prev    next >
Text File  |  1992-05-06  |  15KB  |  394 lines

  1.                           BootX v3.40 User Manual
  2.  
  3.                              December 12, 1990
  4.  
  5.                          Requires the arp.library
  6.  
  7. DISCLAIMER
  8.  
  9. BootX has been thoroughly tested and is the result of a constant process of
  10. changes and updates that started in April 1989. The program has proven to
  11. be stable in everyday use. The author is not responsible for any loss of
  12. data, damages to software or hardware that may result directly or
  13. indirectly from the use of this program.
  14.  
  15. The BootX package consists of:
  16.  
  17.         BootX3.40               The program file
  18.         BootX.BBLib             The BootX bootblock library
  19.         BootX.Brain             An example of a brainfile
  20.         BootX3.40.doc           This file
  21.  
  22. Note that the BootX.BBLib nor the BootX.Brain files are required to run the
  23. program.  BootX will display an errormessage when either of these two files
  24. are not found. See further.
  25.  
  26. This documentation will always be updated at the top.  Users of previous
  27. versions of BootX need only read the paragraphs reflecting the changes
  28. since their last version.
  29.  
  30. Changes from BootX v3.30
  31. ------------------------
  32.  
  33. - Added a check for the Peter Stuer Anti-Virus 3.0 bootblock
  34. - Cleanup up a lot of the code
  35. - Squashed some potential bugs
  36. - Completely rewrote the LinkVirusCheck routine to use a client call-back
  37.   function.
  38. - Completely rewrote the MemoryCheck routine and added a few more vectors
  39.   to check.
  40. - Added checks for 2 more bootblocks and 7 more bootblockviruses
  41. - Added checks for several new linkviruses.
  42. - Rewrote the BootBlock library routines
  43. - BootX now detects if another copy is running. This was asked by some
  44.   users who always forgot they still had a dormant copy of BootX hanging
  45.   around on the Workbench.
  46. - For users of the SetPatch -r option BootX now asks if it is allright to
  47.   reset any memory vectors.
  48. - More vectors are shown that are potential targets for viruses.
  49. - Fix a bug in the View Brainfile option.
  50. - Fix a bug in the Save Brainfile option.
  51. - Added the Merge Brainfile option:
  52.   Since version 3.30 BootX has been able to create brainfiles. This option
  53.   allows you to 'merge' a brainfile you got from a friend. BootX takes care
  54.   of all the details. It won't add any signatures that already exist. You
  55.   select the brainfile you wish to merge in the ARP file requester. Merging
  56.   occurs in memory, so don't forget to save the updated brainfile (BootX
  57.   will warn you though.
  58. - Fixed a bug in the startup code. BootX now uses the same current
  59.   directory as the CLI it was started from.
  60. - Added the Quit menuitem
  61.  
  62.  
  63. Changes from BootX v3.20 (The big one)
  64. --------------------------------------
  65.  
  66. - Fixed a bug in the font name. BootX should now always use the Topaz 80
  67.   font (Hopefully).
  68. - Fixed a bug in the startup code.
  69. - Optimized the code completely
  70. - BootX now checks for viruses on startup
  71. - Completely rewrote the MemoryCheck routine
  72. - All information is now printed using a console (Now I can use formated
  73.   output for several functions. For the Amiga programmers: I understand
  74.   the RawDoFmt() function now (at last)).
  75. - Completely rewrote the link virus check routine. It can be stopped by
  76.   pressing the left mousebutton.
  77. - BootX tries to reconise a bootblock that is loaded.
  78. - Added checks for PVL Virus Protector 6.5 and Anti-Virus 2.0 and added
  79.   both to the built-in bootblocks.
  80. - Removed some of the spelling errors from this doc file
  81.  
  82. Changes from BootX v3.1
  83. ------------------------
  84.  
  85. - Fixed a bug in the new recognition routine.
  86.  
  87. Changes from BootX v3.0
  88. -----------------------
  89.  
  90. - Some internal code optimizations.
  91. - Added Anti-Virus 1.0 from Peter Stuer.
  92. - Finally removed the NorthStar 2 bootblock from the installable bootblocks.
  93.  
  94. Changes from BootX v2.9
  95. -----------------------
  96.  
  97. - Reformated this doc file so it can be read from the CLI using type.
  98. - The detection on/off switch now flashes when it is selected.
  99. - Added a new bootblock to the recog list.
  100. - Added my own viruschecker to the installable bootblocks:
  101.  
  102.         Thor Anti-Virus v1.0
  103.  
  104. When you boot a disk with this bootblock, it first checks the ExecBase
  105. vectors that are most likely to change when a virus installs itself.
  106. For the programmers among you:  ColdCapture, CoolCapture (WarmCapture
  107. isn't supported in KickStart1.2 and 1.3), KickMemPtr, KickTagPtr and
  108. KickCheckSum.  OldOpenLibrary (IRQ Virus) and PutMsg or DoIO are not
  109. checked because these vectors are reset upon booting.  When nothing
  110. suspicious is found, a title picture is shown signaling everything is
  111. OK.  You can either wait or click the left mousebutton to continue.
  112. When Thor Anti-Virus v1.0 finds something in the above mentioned vectors
  113. the screen flashes red for a short period.  It is up to you to react
  114. within this period and click the right mousebutton.  When you NOTHING is
  115. changed and all vectors are left alone.  I put in this option because
  116. some programs (TurboPrint, ATool) use these vectors to stay resident.
  117. Note that there is no way telling wheter there is a virus in memory or
  118. some useful resident code.  When you don't press the right mousebutton,
  119. Thor Anti-Virus resets ExecBase and TRASHES any code found in the
  120. Resident vectors.  I found this the only effective way of killing a
  121. Resident structure in this little code.  I know its not pretty but its
  122. damn effective !!!  The Amiga then resets as if nothing happened.
  123. Normally you should only get the title screen then.  Thor Anti-Virus
  124. v1.0 works completely legally, that is reserving memory for its screen
  125. and structure, so it should be compatible with KickStart 1.3 and 1.4(?).
  126. I have not had a chance to try this out.  If you have any problems
  127. please let me know.
  128.  
  129.  
  130.  
  131. Short introduction
  132. ------------------
  133.  
  134. BootX v3.40 is an attempt to make the ultimate viruskiller.  BootX v3.40
  135. is fast (written completely in assembler), small and tries to be as user
  136. friendly as possible (use of the arp.library).
  137.  
  138. This program is freeware.  It can be copied by anyone except for commercial
  139. use as long as this documentation file and the program icon accompanies the
  140. program.  Note that this program requires the Arp library to run.  No
  141. source code accompanies this program for the obvious reason that everybody
  142. would be able to change the checking algorithm.
  143.  
  144. If you find any new viruses or linkviruses that BootX does not recognize
  145. yet, please send them on a disk to me (my address is at the bottom of this
  146. document). I will return the disk with an updated copy of BootX.
  147.  
  148.                                                              P. Stuer
  149.  
  150.  
  151. How to start BootX v3.40
  152. ------------------------
  153.  
  154. BootX v3.40 (from here on referred to as BootX) was written be used both
  155. beginners and experienced users.  BootX can be started both from CLI and
  156. the Workbench.
  157.  
  158. Starting BootX from the CLI
  159.  
  160. To start BootX from the CLI simply type:
  161.  
  162.         1> BootX3.40
  163.  
  164. followed by a return.  This loads the BootX program and starts it.
  165. BootX then detaches itself from the CLI.  This means that you can start
  166. BootX, bring the Workbench screen back to the front and then close the
  167. CLI window with the EndCLI command.
  168.  
  169. Starting BootX from the WorkBench
  170.  
  171. This is the easy part.  Simply click on the accompaning icon and BootX
  172. starts.
  173.  
  174.  
  175.  
  176. How to use BootX v3.40
  177. ----------------------
  178.  
  179. A lot of viruscheckers and viruskillers are already written for the
  180. Amiga but none of them offered all the features I needed.  Hence the
  181. various disk offering several different programs for doing the job.
  182. Enters BootX.
  183.  
  184. BootX can check the bootblock of a disk, check memory for any resident
  185. viruses and scan a disk for linkviruses.  It can load bootblock libraries
  186. for you to write on your disks as an alternative for the boring DOS Install
  187. bootblock.  It can load "brain files" so you can add any new bootblocks
  188. that BootX does not recognise yet.
  189.  
  190. Let's start a guided tour of the screen.  The main screen offers several
  191. gadgets (I hate menus when I want to work fast).  Just click the
  192. appropriate gadget to perform an action.
  193.  
  194. Quit
  195.  
  196.         Does just what the gadget says:  it releases all used memory and
  197. quits the program.
  198.  
  199.  
  200. Read to buffer
  201.  
  202.         This gadget explicitly instructs BootX to read the bootblock from
  203. the current selected drive into the buffer.  Normally BootX detects when a
  204. new disk is inserted and automatically reads its bootblock.  But some old 5
  205. 1/4 drives don't support automatic diskchange.  This gadget can also be
  206. used to read the bootblock after another programs has modified the
  207. bootblock.
  208.  
  209.  
  210. Write to buffer
  211.  
  212.         Here you instruct BootX to write the bootblock currently in the
  213. buffer to the selected drive.  BootX maintains a buffer that holds the last
  214. read bootblock.  This buffer is also visible in the large display window in
  215. semi-ASCII form (more about this later).  The buffer allows you to read a
  216. bootblock from one disk and then copy it to another.
  217.  
  218.  
  219. The 4 drivegadgets
  220.  
  221. You can connect 4 disk drives to the Amiga.  BootX checks how many drives
  222. are connected to the Amiga and installs a gadget for every one of them.
  223. When a drive is not found the gadget will read "N/A":  not available.  Note
  224. that although a drive is connected the Amiga will not recognize its
  225. presence when it is turned off (only applicable for external drives).
  226.  
  227.  
  228. Install BootBlock
  229.  
  230. Here you can write the selected built-in bootblock to the bootblock of the
  231. current drive.
  232. When no bootblock library is loaded only the normal Install v1.3 bootblock
  233. is available.  At startup BootX looks for a file called "BootX.BBLib" in
  234. the directory from which BootX started.  It contains several alternative
  235. bootblocks. It is possible to load another bootblock library using the
  236. "Load bootblock library" menuitem (see further).
  237.  
  238.  
  239. Next and Previous
  240.  
  241. These gadgets show the next or the previous bootblocks in the currently
  242. loaded bootblock library.  If no library is loaded, only the normal Install
  243. 1.3 bootblock will be available.  Among the bootblocks are the normal DOS
  244. bootblock, Ralph Babel's Install2 and several others.  Thanks to all groups
  245. and programmers whose bootblock I included.  Note however that when you
  246. press Next and Previous the bootblock buffer is not updated.
  247.  
  248.  
  249. BootBlock window
  250.  
  251. This window shows the name of the selected built-in bootblock.
  252.  
  253.  
  254. Message window
  255.  
  256. This window reports messages and errors resulting from the various
  257. operations.
  258.  
  259.  
  260. Main display window
  261.  
  262. Shows the bootblock currently in the buffer in semi-ASCII representation.
  263. Only the readable characters are shown.  This allows you to check for
  264. readable text signifying the nature of the bootblock when BootX reports
  265. "Unknown bootblock".
  266.  
  267.  
  268. About
  269.  
  270. Display information about BootX and the version number.  Always try to get
  271. the latest version available to have optimum virus protection.
  272.  
  273.  
  274. Load from/Save to file
  275.  
  276. BootX can save the bootblock in the buffer to any valid Amiga device.
  277. 'Save to file' can be used to save the bootblocks of games, mega demos and
  278. other programs to a separate data disk.  In case of a virus attack or a bad
  279. disk you can load the previously saved bootblock back in the buffer and
  280. write it back to the original disk.  Note:  no checking is done on the
  281. loaded bootblock.  So it is possible to load f.i.  the parallel.device and
  282. write it to the boot block.  This allows you to write self-made bootblock
  283. to the disk.  BootX now asks you if it should correct the bootblock
  284. checksum when it is wrong.
  285.  
  286.  
  287. Memory check
  288.  
  289. Checks the memory for any known virus ignoring all known resident virus
  290. checkers.  When BootX finds a virus it will display an Alert identifying
  291. which virus was in memory and will try to kill it.  BootX also removes any
  292. known linkvirus from memory.
  293.  
  294. BootX also shows some important vectors from Execbase in the main
  295. display window.  These vectors are mostly altered by viruses.  A normal
  296. vector will be display in white.  When BootX thinks that something is
  297. not normal it will display the vector in white on red.  Note that this
  298. not necessarily means that there is a virus in memory.  Resident
  299. programs as f.i.  TurboPrint use these vectors too.  I will try to keep
  300. BootX's knowledge base as up to date as possible.  In case of doubt,
  301. save all data and cold-start the Amiga.
  302.  
  303.  
  304. Goto sleep
  305.  
  306. Closes the main BootX screen and releases as much memory as possible.  A
  307. small window on the workbench screen is opened showing that you that BootX
  308. is still in memory.  In this state BootX uses no CPU time and just waits
  309. for you to make the window active and click in it with the menu button (the
  310. right mouse button).  Then the main BootX screen and window is opened again
  311. and you can go on again.  BootX does not unload a brain file or a bootblock
  312. library.  Also, when asleep BootX doesn't do any checking ( like VirusX
  313. does).  I did this on purpose.  There is no need to continuously keep
  314. checking every disk that is inserted.  Just check them once to make sure
  315. there virus-free.
  316.  
  317.  
  318. Kill LinkVirus
  319.  
  320. This gadget pops up the file requester for you to specify a device to
  321. search for linkviruses.  In the current version this can only be a
  322. device.  Later version will support directory and file checking.  When
  323. you select OK BootX starts searching for linkviruses in any executable
  324. file it encounters.  Note that the complete disk is searched.  In case
  325. BootX finds a link virus you are given the option to remove it from the
  326. infected file.  BootX removes the linkvirus and save the file under the
  327. same name with an extension ".bx".  Currently only the IRQ and the TTV1
  328. linkviruses are checked for.
  329.  
  330.  
  331. Help
  332.  
  333. This gadget toggles the help feature.  When it is turned on you can
  334. click any gadget to get a short help message about its function.  Click
  335. Help again to turn off the help feature.
  336.  
  337.  
  338. Detection on/off
  339.  
  340. This gadget works as an on/off switch.  It turns off diskchange
  341. detection.  Sometimes it is not useful to have BootX read the bootblock
  342. of every disk you insert, especially when you have a bootblock in the
  343. buffer you wish to write to another disk.  This gadget allows one drive
  344. user to copy bootblocks.
  345.  
  346. Learn
  347.  
  348. Clicking this gadget prompts you for a name when BootX does not known the
  349. bootblock in the buffer yet.  Enter an empty string when you want to cancel
  350. the operation.  BootX then adds the bootblock to the current brain file (if
  351. present).  Else it make a brain file in memory.
  352.  
  353.  
  354. The Menu
  355. --------
  356.  
  357. Load Bootblock library
  358.  
  359. Selecting this menuitem (or the key combination Right-Amiga-B) allows you to
  360. load another bootblock library than the default BootX.BBLib
  361.  
  362.  
  363. Load Brainfile
  364.  
  365. Selecting this menuitem (or the key combination Right-Amiga-L) allows you
  366. to load another brainfile than the default BootX.Brain. BootX will load
  367. only valid brainfiles. Before loading it asks you if you want this
  368. brainfile to replace the one in memory.
  369.  
  370.  
  371. Save Brainfile
  372.  
  373. Selecting this menuitem (or the key combination Right-Amiga-S) allows you
  374. to save the brainfile that is currently in memory.
  375.  
  376.  
  377. Learn Bootblock
  378.  
  379. Selecting this menuitem (or the key combination Right-Amiga-A) is the same
  380. as clicking on the Learn gadget (see higher).
  381.  
  382. I realize this documentation is brief but I made BootX to be as intuitively
  383. as possible.  BootX is updated frequently to recognize new bootblocks and
  384. viruses.
  385.  
  386. Peter Stuer
  387. Kauwlei 21
  388. B-2550 Kontich
  389. Belgium - Europe
  390.                          _
  391.                       _ //
  392.             Thanks to \X/ Amiga for being the best computer ever !
  393.             Thanks to BSB for beta testing and giving useful comments.
  394.